/**********************************************************************************************/
// dgt_MemElement.h
// Interface of memory element
// 
// Copyright Diamant Group 2007
/**********************************************************************************************/
#ifndef _DGT_MEMELEMENT_H_
#define _DGT_MEMELEMENT_H_

#include "dgtKernel.h"
#include "dgt_SmartMacros.h"
#include "dgt_Element.h"

SMART_CLASS( dgt_MemElement );

/**********************************************************************************************/
interface dgt_MemElement: public dgt_Element
{
							dgt_MemElement( void )		{};

virtual						~dgt_MemElement( void )		{};

		// Number of bits
virtual unsigned long		get_BitCount( void ) = 0;
		// Number of operations
virtual unsigned long		get_OpCount( void ) = 0;
		// Operations names
virtual wxArrayString		get_OpNames( void ) = 0;
		// Mnemonic names
virtual wxArrayString		get_MnemNames( void ) = 0;
};

#endif	// _DGT_MEMELEMENT_H_

